﻿namespace Cos.Module.CMS
{
    using Cos.Core.Model.Common;
    using Cos.Core.Model.Content;

    public interface IMenuService
    {
        /// <summary>
        /// Gets the root menu.
        /// </summary>
        /// <param name="culture">The culture.</param>
        /// <param name="isLiveMode">if set to <c>true</c> [is live mode].</param>
        /// <returns>The root menu and the list of sub page and throws UnknownMenuException if the menu doesn't exist</returns>
        Menu GetRootMenu(Culture culture, bool isLiveMode) /*throws UnknownMenuException*/;

        /// <summary>
        /// Gets the menu.
        /// </summary>
        /// <param name="name">The name of the menu.</param>
        /// <param name="culture">The culture of the page.</param>
        /// <param name="isLiveMode">if set to <c>true</c> [is live mode].</param>
        /// <returns>The root menu and the list of sub page and throws UnknownMenuException if the menu doesn't exist</returns>
        Menu GetMenu(string name, Culture culture, bool isLiveMode) /*throws UnknownMenuException*/;
    }
}